package org.example.projecttwo.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.example.projecttwo.entity.Comment;
import org.example.projecttwo.entity.dto.content.request.ContentWithCommentCountDTO;

/**
 * <p>
 * 评论表 Mapper 接口
 * </p>
 *
 * @author nn
 * @since 2025-11-01
 */
public interface CommentMapper extends BaseMapper<Comment> {

    /**
     * 分页查询内容列表及其评论数量
     * 根据内容类型查询对应的文章或新闻，并统计其评论数量
     */
    IPage<ContentWithCommentCountDTO> selectContentWithCommentCount(
            IPage<ContentWithCommentCountDTO> page,
            @Param("contentType") Integer contentType,
            @Param("keyword") String keyword);
}